(1) Field of the Invention
The present invention pertains to multicentral processing unit controlled real time systems and more particularly to an allocation scheme for resolving conflicting requests from a plurality of central processing units for access to multiple commonly shared resources.
(2) Description of the Prior Art
Computer control has been applied to a vast number of real time process control systems. For example, central processing units (CPUs) control the real time switching operation in modern telephone central offices. Historically, large CPUs have been developed to provide the control function for large telephone central offices.
In more recent times, large central processing units have given way to distributed processing schemes. In such schemes, numbers of smaller central processing units cooperate to perform the control functions, thereby increasing the overall flexibility of such a system and providing for modular expansion. In the telephone central office example, many smaller central processor units working together can handle telephone traffic more efficiently and economically than a single large central processing unit. Microprocessor CPUs are specially suited to such an operation.
In distributed processing systems where there are a number of central processing units, CPUs may typically exchange information in order to perform one overall task. One solution to the information exchange problem is to have two CPUs talk directly to one another. In such a configuration, each CPU must stop any other tasks which it may be performing, establish a direct link via a defined protocol scheme and then transmit the required information.
In another solution, the CPUs may asynchronously place information in a predefined resource, so that the CPU which is to receive the information may remove it at its own particular available time. In sharing a common resource, a problem of allocation of the resource to a particular CPU arises. That is, a number of CPUs may request to deposit or retrieve information simultaneously. Therefore, conflicts in accessing the resource arise and these conflicts of access must be resolved. Previous access schemes involved scanning signals for request or allocating certain time slots in which each processor may access the resource. Such systems are time consuming and inefficient and further they allow monopolization of the resource by a particular CPU of the group.
Accordingly, it is an object of the present invention to provide an allocation controller for providing equal priority sharing of multiple common resources by a plurality of CPUs.
It is a further important objective of the present invention to provide such a controller which prohibits monopolization of any common resource by a particular CPU.
It is another important objective of the present invention to provide for the arbitration of simultaneous access by CPUs at a very rapid rate in order to allow an efficient information exchange.
It is another important objective of the present invention to provide for an approximately statistically equal probability of each CPU for obtaining access to the resource.
It is another important objective of the present invention to provide an allocation controller which may grow in the number of CPUs, which are subject to control, in an efficient and economical manner.